我花了大约四个小时试图使干净的URL工作,这真的是我的想法。我对德鲁巴非常陌生,在听到所有关于这件事的精彩事情后,这是令人失望的。这是我的设置:
我有XAMPP on windows 7,并将Drupal 7.22安装到文件夹c:\code\drupal中。
在我的httpd.conf中,我有Alias /code "C:\code" --这是因为我在c:\code中有其他文件夹运行得非常好
drupal .htaccess文件可以工作,因为如果在其中添加垃圾行,就会出现服务器错误。
在.htaccess中,我尝试了我能想到的所有RewriteBase组合:
RewriteBase /
RewriteBase /code
RewriteBase /code/drupal
RewriteBase /drupalmod_rewrite可以工作,因为我已经有其他正确使用它的安装。
我也试着直接去http://localhost/code/drupal/admin/config/search/clean-urls,但这给了我一个404 error
每次我回到admin > config > clean URLS,它都说测试失败了。我知道这显然是我的错误,但它变得非常令人沮丧。有人能看到我在这里错过了什么吗?
drupal.stackexchange.com上发布了这篇文章,但没有得到任何答案。发布于 2013-07-18 15:40:08
我不知道你是否还需要帮助,但我花了很长时间想办法解决这个问题,但没有找到正确的答案。做了很多尝试和错误之后,我让它成功了。我不知道你的设置是怎样的,但是这里是我的,以及我在drupal.org上的解决方案。
(这是我原问题的一部分和我的完整解决方案的副本)
嗨, 我有一个Drupal多站点设置,我试图使清洁URL工作,但似乎不能正确地编写条件和规则。我找到了很多答案,但都没有用。 我的.htaccess文件被读取时没有问题,而且规则正在被使用(我尝试将重写规则设置为完整的地址,但它只是给了我主页,我不能去任何其他地方)。 下面是设置的方式: 开发: URL1 www.site1.domain.fr/dev /T1381-1997副商品转制转制 PROD URL1 www.site1.domain.fr 自愿性 在服务器上: /dev (一个drupal安装) (另一套drupal安装,但内容相同) 我的多站点设置如下: /站点/站点1.domain.fr /site/site2.site1.domain.fr(对dev和prod相同) 在sites.php内部: $sites = array( 'www.site1.domain.fr‘=> 'site1.domain.fr','www.site2.site1.domain.fr’=> 'site2.site1.domain.fr‘)
解决方案
我终于能够通过反复的尝试来解决这个问题。如果你们中的任何人遇到同样的问题,下面是我如何解决的:
DEV:
RewriteBase /dev
# Main site
RewriteCond %{HTTP_HOST} ^site1\.domain\.fr [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ site1.domain.fr/dev/index.php?q=$1 [L,QSA]
# Site 2
RewriteCond %{HTTP_HOST} ^site2.site1\.domain\.fr [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ site2.site1.domain.fr/dev/index.php?q=$1 [L,QSA]
PROD:
RewriteBase /
# Main site
RewriteCond %{HTTP_HOST} ^site1\.domain\.fr [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ site1.domain.fr/index.php?q=$1 [L,QSA]
# Site 2
RewriteCond %{HTTP_HOST} ^site2.site1\.domain\.fr [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ site2.site1.domain.fr/index.php?q=$1 [L,QSA]https://stackoverflow.com/questions/16595392
复制相似问题