Вопрос по переписыванию URL для начинающих Apache - PullRequest
2 голосов
/ 18 мая 2009

Я просто пытаюсь выяснить, нахожусь ли я на правильном пути - дополнительные сведения о переписывании URL в моем примере будут оценены.

Я установил программу CMS и просто хотел бы, чтобы www.example.com указывал на www.example.com/cms. Я просто хочу знать, является ли перезапись URL через apache лучшим способом для этого?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 18 мая 2009

Просто перенаправление http://example.com/ на http://example.com/cms/:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewritRule ^/?$ /cms/
</IfModule>

Перенаправление всех URL, которые в противном случае имели бы 404d для начала с / cms /:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ /cms/$1 [L]
</IfModule>

Перенаправление всех URL-адресов в / cms /:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^(.*)$ /cms/$1 [L]
  <Directory /var/www/html/cms/> #change this to the correct path
    RewriteEngine Off
  </Directory>
</IfModule>
1 голос
/ 18 мая 2009

Это определенно подход, который я бы выбрал. Я предполагаю, что вы используете Apache, хотя это легко сделать и с IIS. Вам нужно отредактировать файл .htaccess в корневом каталоге, чтобы сделать это с помощью mod_rewrite.

<IfModule mod_rewrite.c>

   RewriteEngine on

   RewriteRule    ^(.*)$ /cms/$1  [L]

</IfModule>

Это должно работать для того, что вы ищете. Измените "cms" на любой каталог, в который вы хотите переписать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...