.htaccess没有使用XAMPP在localhost上工作

acr*_*cre 17 .htaccess mod-rewrite localhost url-rewriting

即时通讯使用XAMPP但我无法在本地主机上使用.htaccess文件.我尝试了这么多次..在线工作不错.但本地主机显示[在此服务器上找不到请求的URL]

我的根文件夹是真实的

localhost/acre/real/property_available.php
localhost/acre/real/properties


<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /acre/real/
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^properties$ /property_available.php/$1 [NC,QSA]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

Tim*_*imP 40

刚遇到类似的问题

通过登记解决了这个问题 httpd.conf

     # AllowOverride controls what directives may be placed in .htaccess files.
     # It can be "All", "None", or any combination of the keywords:
     #   Options FileInfo AuthConfig Limit
     #
     AllowOverride All   <--- make sure this is not set to "None"
Run Code Online (Sandbox Code Playgroud)

值得记住的是,我试过(从Mark的回答)"把垃圾放在.htaccess"中确实给出了服务器错误 - 但即使它正在被读取,但由于没有允许覆盖,它没有被执行.


Ham*_*han 24

在conf/extra/httpd-vhosts.conf中,AllowOverride All为您遇到问题的所有网站添加该行

<VirtualHost example.site:80>
    # rest of the stuff
    <Directory "c:\Projects\example.site">
        Require all granted
         AllowOverride All <-----This line is required
    </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)


小智 9

尝试

<IfModule mod_rewrite.so>
...
...
...
</IfModule>
Run Code Online (Sandbox Code Playgroud)

代替 <IfModule mod_rewrite.c>


小智 5

在没有看到你的系统的情况下,很难分辨出什么是错的,但是请尝试以下方法(如果这些不适用于日志错误消息,请回答评论)

[停止Apache服务器实例.确保它没有运行!]

1)将apache server/install移动到没有长文件名和空格的文件夹中

2)检查install\conf文件夹中的httpd.conf并查找AccessFileName.如果它是.htaccess将其更改为文件名windows接受(例如conf.htaccess)

3)仔细检查你的htaccess文件是否被读取:向它添加一些无法解释的垃圾并启动服务器:你应该得到一个错误500.如果你不这样做,文件没有被读取,重新访问httpd.conf文件(如果看起来没问题,检查这是否是唯一定义htaccess及其位置的文件,它是在一个地方 - 仅在文件中;还要检查httpd.conf和htaccess文件是否都可访问:未加密,文件访问权限不受限制,驱动器/路径可用 - 并且没有长文件夹路径和文件名 - )
再次停止Apache,然后继续:
4)如果您的系统上也有IIS,从services.msc停止它(如果可以,也可以卸载)

5)将以下内容添加到有效的htaccess文件的顶部:
RewriteEngine On
RewriteLog"/path/logs/rewrite.log" #确保路径在那里!
RewriteLogLevel 9

6)清空你的[apache]\logs文件夹(如果你使用另一个文件夹,然后那个:)

7)检查以下条目是否设置正确:
操作应用程序/ x-httpd-php"c:/ your-php5-path /php-cgi.exe"LoadModule
php5_module"c:/your-php5-path/php5apache2.dll"
LoadModule rewrite_module modules/mod_rewrite.so
避免phpX安装文件夹名称中的长路径名和空格!

8)启动apache服务器

您可以执行上述所有步骤,也可以逐个执行您的呼叫.但在一天结束时,请确保您尝试了以上所有内容!
如果系统仍然爆炸但您无法修复它,请从日志文件夹中复制并粘贴错误消息以获得进一步的帮助