it-swarm.com.ru

Чистые URL не работают в Drupal 7

Я только что установил и начал использовать Drupal 7, и я следовал инструкциям, чтобы включить Чистые URL-адреса. Я нажал кнопку "Выполнить тестирование чистого URL", но он не дал никаких результатов. Он загружает что-то, а затем обновляет страницу.

Может кто-нибудь пролить свет на то, почему это происходит и что я могу сделать?

11
picardo

Создайте файл phpinfo.php, содержимое: <?php phpinfo();?> Затем загрузите его через браузер. Найдите текст "Загруженные модули", он должен содержать "mod_rewrite". Если нет, включите его в своей конфигурации Apache (вы можете спросить, как, если так).

9
Alexey Smirnoff

Иногда как-то не удается открыть очищенную страницу URL-адреса и не отображается ошибка (как я полагаю, с точки зрения системы ее нет). Попробуйте вручную изменить URL-адрес с:

www.mydomain.com/?q=admin/config/search/clean-urls

чтобы:

www.mydomain.com/admin/config/search/clean-urls

И посмотрите, отображает ли он флажок, выберите его и сохраните.

21
m4rinos

ваш файл конфигурации Apache (/etc/Apache2/Apache2.conf) должен содержать следующие 2 строки. Если нет, то добавьте их. Это заставляет Apache искать файл .htaccess для настроек в папке “/var/www/drupal”

<Directory /var/www/drupal>
  AllowOverride All
</Directory>
AccessFileName .htaccess
5
Kshitiz Singh

Моя установка drupal7 выполняется на моем компьютере с Ubuntu 12.04 в папке usr/share/drupal7. Я решил эту проблему следующим образом .htaccess в моей папке drupal7:

#RewriteRule ^ index.php [L]
 RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 

и добавить:

RewriteBase /drupal7

не добавляйте RewriteBase /drupal.

Теперь тест в порядке, и все работает хорошо.

5
alessandro oliviero

Вы должны включить mod_rewrite в Apache, чтобы заставить работать чистые URL

если mod_rewrite отсутствует в phpinfo, вы должны установить его

Sudo a2enmod rewrite

Sudo Apache2ctl -l

You need to replace the occurrence of AllowOverride none to AllowOverride all

и Правка как это

<VirtualHost *:80>
ServerAdmin [email protected]

DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride all
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>

и перезапустите Apache

Sudo service Apache2 restart
4
Akhilraj N S

У меня были проблемы после новой установки Drupal 7.15 на GoDaddy. Мне нужно было внести следующие изменения в .htaccess, чтобы заставить их работать ...

# Pass all requests not referring directly to files in the filesystem to
# index.php. Clean URLs are handled in drupal_environment_initialize().
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
#RewriteRule ^ index.php [L]
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] #GoDaddy Hosting

После этого тест чистого URL-адреса все еще не проходит, но чистый URL-адрес фактически работает, как указано в ответе artonice.

2
Eddie

У меня также была такая проблема на хостинге GoDaddy, но решение оказалось довольно простым.

После раскомментирования следующей строки в .htaccess, тест чистого URL-адреса прошел, как и ожидалось:

# RewriteBase /

Обратите внимание, что мой сайт работает в корне домена.

1
Zsolt Balla