永久链接在Windows 7上的xampp / localhost服务器中不起作用

时间:2012-09-07 04:27:58

标签: wordpress .htaccess xampp permalinks

当我从wordpress管理员点击永久链接时,它会自动在根文件夹中创建.htaccess文件,然后wordpress网站停止使用浏览器错误服务器错误500 我在httpd中进行了以下设置。 conf和我的mod_rewrite按照php.ini显示工作。

httpd.conf设置

<Directory "E:/xampp/cgi-bin">
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

<Directory "E:/xampp/htdocs">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options All

    #
    # 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

    #
    # Controls who can get stuff from this server.
    #
    Order allow,deny
    Allow from all

</Directory>

HTACCESS FILE CODE

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /xampp/ozi-tech/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /xampp/ozi-tech/index.php [L]
</IfModule>
# END WordPress

4 个答案:

答案 0 :(得分:3)

如果您的项目位于 E:/ xampp / htdocs / ozi-tech / 上 那么你需要指定从localhost开始的路径。

E:/xampp/htdocs/  === localhost === /

您只需要更改.htaccess中的 RewriteBase RewriteRule

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /ozi-tech/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /ozi-tech/index.php [L]
</IfModule>
# END WordPress

答案 1 :(得分:0)

我确实很难解决这个问题,但我找到的主要是我的本地服务器,它不支持htaccess URL重写场景,所以我在ftp帐户上传了相同的代码并在网上获得了救援。

我想知道我们是否可以在本地服务器中允许URL重写,虽然我已经取消注释xampp服务器中的URL重写模块但仍无法在本地环境中工作。

答案 2 :(得分:0)

使用.htaccess

 RewriteEngine On
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^([^\.]+)$ $1.php [NC,L]

上面的代码将摆脱.php扩展名,从而为您提供索引而不是index.php。是的,它适用于localhost,几乎所有托管公司都包含它。

答案 3 :(得分:0)

我使用XAMPP并将项目放在与XAMPP的默认项目目录不同的目录中时遇到了这个问题。

我通过在 httpd.conf 中的AllowOverride All标签的<Directory> 外部中解决了该问题。

如果您对安全性有更严格的要求,请务必确定如何在特定目录中AllowOverride,但是对我而言,允许在所有目录中进行覆盖都是快速解决方案。